package com.cn.wx.servlet.login;

import com.cn.wx.model.UserModel;
import com.cn.wx.service.LoginService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

@WebServlet("/loginSave")
public class LoginSaveServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//       1.拿到页面传递过来的数据
//      下面两句话解决乱码问题
        req.setCharacterEncoding("UTF-8");//请求的时候设置编码：页面将数据发送到后台
        resp.setCharacterEncoding("UTF-8");//响应的时候设置编码：后台将数据发送到页面
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String id = req.getParameter("id");
//        判断id是否有值
        Integer ids = id == null || id.equals("") ? 0 : Integer.parseInt(id);
//        2.封装实体类
        UserModel userModel = new UserModel();
        userModel.setId(ids);
        userModel.setUsername(username);
        userModel.setPassword(password);
//        3.调用业务逻辑层service
        LoginService loginService = new LoginService();
        //ids为0表示页面是跳转到新增页面，否则ids里面有值就表示修改
        if (ids == 0) {
            loginService.add(userModel);
        } else {
            loginService.update(userModel);
        }
//        4.返回页面，如果要传递数据到页面，用转发，如果不用传递数据，直接跳转
        resp.sendRedirect("/seleteAll");//跳转到用户管理页面，等于我们要去重新查询一次

    }
}
